package com.shenyi.common.api;

import com.shenyi.common.entity.SysRoleDO;
import com.shenyi.common.entity.UserWindowDto;
import com.shenyi.core.page.Page;

import java.util.List;
import java.util.Map;

/**
 * @author richard.fan
 * @version 1.0
 * @date 2018/11/02
 * @desc 角色
 * @see
 * @since 1.0
 */
public interface ISysRoleService {

    SysRoleDO queryObject(Long roleId);

    List<SysRoleDO> queryList(Map<String, Object> map);

    int queryTotal(Map<String, Object> map);

    void save(SysRoleDO role);

    void update(SysRoleDO role);

    void deleteBatch(Long[] roleIds);

    /**
     * 查询用户创建的角色ID列表
     */
    List<Long> queryRoleIdList(Long createUserId);

    /**
     * 分页查询角色审批选择范围
     * @return
     */
    Page<UserWindowDto> queryPageByDto(UserWindowDto userWindowDto, int pageNmu);
}
